import s3fs
import zarr
import xarray as xr
import pandas as pd
from dask.diagnostics import ProgressBar
Open three remote Zarr stores and put them in the cases dictionary.
case_paths = {
"GLOBAL":"cobalt.GLOBAL02_CAM_ZARR/",
"GLOBAL_MAY_NAO":"cobalt.GLOBAL02.MAY.NAO_CAM_ZARR/",
"GLOBAL_MAY_PAO":"cobalt.GLOBAL02.MAY.PAO_CAM_ZARR/",
}
cases = {}
# Initialize the S3 file system
s3 = s3fs.S3FileSystem()
for k,v in case_paths.items():
s3_path = 's3://data-viz-server/{}'.format(v)
store = s3fs.S3Map(root=s3_path, s3=s3, check=False)
# Read Zarr file and put into cases dictionary
cases[k] = xr.open_zarr(store=store, consolidated=True)
Each of the Zarr stores contains 114 variables indexed over latitude, longitude, and time. Here's their display() output. Notice that the first one has more time coordinates than the other two -- the time axis extends five years longer.
for c in cases.values():
display(c)
<xarray.Dataset>
Dimensions: (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 1033)
Coordinates:
* ilev (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
* lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
* lev (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
* lon (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
* slat (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
* slon (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
* time (time) object 2000-06-01 00:00:00 ... 2086-06-01 00:00:00
Dimensions without coordinates: nbnd
Data variables:
AEROD_v (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDHGH (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDICE (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CLDLIQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CLDLOW (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDMED (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDTOT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLOUD (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CONCLD (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DCQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DTCOND (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DTV (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
EMIS (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
FICE (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
FLDS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLDSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLUT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLUTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTOAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSUTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
ICEFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
ICIMR (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
ICWMR (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
LANDFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
LHFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
LWCF (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
OCNFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
OMEGA (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
OMEGAT (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
P0 (time) float64 dask.array<chunksize=(1033,), meta=np.ndarray>
PBLH (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PHIS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECSL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PSL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
Q (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
QFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
QREFHT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
QRL (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
QRS (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
RELHUM (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
SFCLDICE (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SFCLDLIQ (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SHFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SNOWHICE (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SNOWHLND (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SOLIN (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SWCF (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
T (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
TAUX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TAUY (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDCWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDIWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDLWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TMQ (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TREFHT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TSMN (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TSMX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
U (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
U10 (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
UU (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
V (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VD01 (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VT (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VU (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VV (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
Z3 (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
ch4vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
co2vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
date (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
date_written (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
datesec (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
f11vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
f12vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
gw (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
hyai (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
hyam (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
hybi (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
hybm (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
mdt (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
n2ovmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
nbdate (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
nbsec (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
ndbase (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
ndcur (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
nlon (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
nsbase (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
nscur (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
nsteph (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
ntrk (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
ntrm (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
ntrn (time) int32 dask.array<chunksize=(1033,), meta=np.ndarray>
sol_tsi (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
time_bnds (time, nbnd) object dask.array<chunksize=(1033, 2), meta=np.ndarray>
time_written (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
w_stag (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
wnummax (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
Attributes:
Conventions: CF-1.0
Version: $Name$
case: f09_g16.B.cobalt.GLOBAL02
host: n716022
initial_file: f09_g16.B.04.EXT.cam.i.2077-05-01-00000.nc
logname: clmfrm01
revision_Id: $Id$
source: CAM
title: UNSET
topography_file: /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...array([ 2.194067, 4.895209, 9.882418, 18.05201 , 29.83724 ,
44.62334 , 61.60587 , 78.51243 , 92.3658 , 108.66359 ,
127.83708 , 150.39371 , 176.93043 , 208.14944 , 244.87709 ,
288.08522 , 338.91731 , 398.71865 , 469.0718 , 551.83871 ,
649.20969 , 744.38289 , 831.02123 , 903.30029 , 955.99746 ,
985.1122 , 1000. ])array([-90. , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
-84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,
-78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,
-73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,
-67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,
-61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,
-56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,
-50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,
-44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,
-39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,
-33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,
-27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,
-22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,
-16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,
-10.837696, -9.895288, -8.95288 , -8.010471, -7.068063, -6.125654,
-5.183246, -4.240838, -3.298429, -2.356021, -1.413613, -0.471204,
0.471204, 1.413613, 2.356021, 3.298429, 4.240838, 5.183246,
6.125654, 7.068063, 8.010471, 8.95288 , 9.895288, 10.837696,
11.780105, 12.722513, 13.664921, 14.60733 , 15.549738, 16.492147,
17.434555, 18.376963, 19.319372, 20.26178 , 21.204188, 22.146597,
23.089005, 24.031414, 24.973822, 25.91623 , 26.858639, 27.801047,
28.743455, 29.685864, 30.628272, 31.570681, 32.513089, 33.455497,
34.397906, 35.340314, 36.282723, 37.225131, 38.167539, 39.109948,
40.052356, 40.994764, 41.937173, 42.879581, 43.82199 , 44.764398,
45.706806, 46.649215, 47.591623, 48.534031, 49.47644 , 50.418848,
51.361257, 52.303665, 53.246073, 54.188482, 55.13089 , 56.073298,
57.015707, 57.958115, 58.900524, 59.842932, 60.78534 , 61.727749,
62.670157, 63.612565, 64.554974, 65.497382, 66.439791, 67.382199,
68.324607, 69.267016, 70.209424, 71.151832, 72.094241, 73.036649,
73.979058, 74.921466, 75.863874, 76.806283, 77.748691, 78.691099,
79.633508, 80.575916, 81.518325, 82.460733, 83.403141, 84.34555 ,
85.287958, 86.230366, 87.172775, 88.115183, 89.057592, 90. ])array([ 3.544638, 7.388814, 13.967214, 23.944625, 37.23029 , 53.114605,
70.05915 , 85.439115, 100.514695, 118.250335, 139.115395, 163.66207 ,
192.539935, 226.513265, 266.481155, 313.501265, 368.81798 , 433.895225,
510.455255, 600.5242 , 696.79629 , 787.70206 , 867.16076 , 929.648875,
970.55483 , 992.5561 ])array([ 0. , 1.25, 2.5 , ..., 356.25, 357.5 , 358.75])
array([-89.528796, -88.586387, -87.643979, -86.701571, -85.759162, -84.816754,
-83.874346, -82.931937, -81.989529, -81.04712 , -80.104712, -79.162304,
-78.219895, -77.277487, -76.335079, -75.39267 , -74.450262, -73.507853,
-72.565445, -71.623037, -70.680628, -69.73822 , -68.795812, -67.853403,
-66.910995, -65.968586, -65.026178, -64.08377 , -63.141361, -62.198953,
-61.256545, -60.314136, -59.371728, -58.429319, -57.486911, -56.544503,
-55.602094, -54.659686, -53.717277, -52.774869, -51.832461, -50.890052,
-49.947644, -49.005236, -48.062827, -47.120419, -46.17801 , -45.235602,
-44.293194, -43.350785, -42.408377, -41.465969, -40.52356 , -39.581152,
-38.638743, -37.696335, -36.753927, -35.811518, -34.86911 , -33.926702,
-32.984293, -32.041885, -31.099476, -30.157068, -29.21466 , -28.272251,
-27.329843, -26.387435, -25.445026, -24.502618, -23.560209, -22.617801,
-21.675393, -20.732984, -19.790576, -18.848168, -17.905759, -16.963351,
-16.020942, -15.078534, -14.136126, -13.193717, -12.251309, -11.308901,
-10.366492, -9.424084, -8.481675, -7.539267, -6.596859, -5.65445 ,
-4.712042, -3.769634, -2.827225, -1.884817, -0.942408, 0. ,
0.942408, 1.884817, 2.827225, 3.769634, 4.712042, 5.65445 ,
6.596859, 7.539267, 8.481675, 9.424084, 10.366492, 11.308901,
12.251309, 13.193717, 14.136126, 15.078534, 16.020942, 16.963351,
17.905759, 18.848168, 19.790576, 20.732984, 21.675393, 22.617801,
23.560209, 24.502618, 25.445026, 26.387435, 27.329843, 28.272251,
29.21466 , 30.157068, 31.099476, 32.041885, 32.984293, 33.926702,
34.86911 , 35.811518, 36.753927, 37.696335, 38.638743, 39.581152,
40.52356 , 41.465969, 42.408377, 43.350785, 44.293194, 45.235602,
46.17801 , 47.120419, 48.062827, 49.005236, 49.947644, 50.890052,
51.832461, 52.774869, 53.717277, 54.659686, 55.602094, 56.544503,
57.486911, 58.429319, 59.371728, 60.314136, 61.256545, 62.198953,
63.141361, 64.08377 , 65.026178, 65.968586, 66.910995, 67.853403,
68.795812, 69.73822 , 70.680628, 71.623037, 72.565445, 73.507853,
74.450262, 75.39267 , 76.335079, 77.277487, 78.219895, 79.162304,
80.104712, 81.04712 , 81.989529, 82.931937, 83.874346, 84.816754,
85.759162, 86.701571, 87.643979, 88.586387, 89.528796])array([ -0.625, 0.625, 1.875, ..., 355.625, 356.875, 358.125])
array([cftime.DatetimeNoLeap(2000, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 8, 1, 0, 0, 0, 0), ...,
cftime.DatetimeNoLeap(2086, 4, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 5, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 6, 1, 0, 0, 0, 0)], dtype=object)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<xarray.Dataset>
Dimensions: (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 969)
Coordinates:
* ilev (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
* lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
* lev (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
* lon (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
* slat (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
* slon (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
* time (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
Dimensions without coordinates: nbnd
Data variables:
AEROD_v (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDHGH (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDICE (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CLDLIQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CLDLOW (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDMED (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDTOT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLOUD (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CONCLD (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DCQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DTCOND (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DTV (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
EMIS (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
FICE (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
FLDS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLDSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLUT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLUTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTOAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSUTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
ICEFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
ICIMR (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
ICWMR (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
LANDFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
LHFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
LWCF (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
OCNFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
OMEGA (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
OMEGAT (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
P0 (time) float64 dask.array<chunksize=(969,), meta=np.ndarray>
PBLH (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PHIS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECSL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PSL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
Q (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
QFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
QREFHT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
QRL (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
QRS (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
RELHUM (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
SFCLDICE (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SFCLDLIQ (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SHFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SNOWHICE (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SNOWHLND (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SOLIN (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SWCF (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
T (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
TAUX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TAUY (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDCWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDIWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDLWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TMQ (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TREFHT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TSMN (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TSMX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
U (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
U10 (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
UU (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
V (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VD01 (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VT (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VU (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VV (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
Z3 (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
ch4vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
co2vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
date (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
date_written (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
datesec (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
f11vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
f12vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
gw (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
hyai (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
hyam (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
hybi (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
hybm (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
mdt (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
n2ovmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
nbdate (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
nbsec (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
ndbase (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
ndcur (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
nlon (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
nsbase (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
nscur (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
nsteph (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
ntrk (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
ntrm (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
ntrn (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
sol_tsi (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
time_bnds (time, nbnd) object dask.array<chunksize=(969, 2), meta=np.ndarray>
time_written (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
w_stag (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
wnummax (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
Attributes:
Conventions: CF-1.0
Version: $Name$
case: f09_g16.B.cobalt.GLOBAL02.MAY.NAO
host: n716016
initial_file: f09_g16.B.04.EXT.cam.i.2068-05-01-00000.nc
logname: clmfrm01
revision_Id: $Id$
source: CAM
title: UNSET
topography_file: /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...array([ 2.194067, 4.895209, 9.882418, 18.05201 , 29.83724 ,
44.62334 , 61.60587 , 78.51243 , 92.3658 , 108.66359 ,
127.83708 , 150.39371 , 176.93043 , 208.14944 , 244.87709 ,
288.08522 , 338.91731 , 398.71865 , 469.0718 , 551.83871 ,
649.20969 , 744.38289 , 831.02123 , 903.30029 , 955.99746 ,
985.1122 , 1000. ])array([-90. , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
-84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,
-78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,
-73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,
-67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,
-61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,
-56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,
-50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,
-44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,
-39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,
-33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,
-27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,
-22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,
-16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,
-10.837696, -9.895288, -8.95288 , -8.010471, -7.068063, -6.125654,
-5.183246, -4.240838, -3.298429, -2.356021, -1.413613, -0.471204,
0.471204, 1.413613, 2.356021, 3.298429, 4.240838, 5.183246,
6.125654, 7.068063, 8.010471, 8.95288 , 9.895288, 10.837696,
11.780105, 12.722513, 13.664921, 14.60733 , 15.549738, 16.492147,
17.434555, 18.376963, 19.319372, 20.26178 , 21.204188, 22.146597,
23.089005, 24.031414, 24.973822, 25.91623 , 26.858639, 27.801047,
28.743455, 29.685864, 30.628272, 31.570681, 32.513089, 33.455497,
34.397906, 35.340314, 36.282723, 37.225131, 38.167539, 39.109948,
40.052356, 40.994764, 41.937173, 42.879581, 43.82199 , 44.764398,
45.706806, 46.649215, 47.591623, 48.534031, 49.47644 , 50.418848,
51.361257, 52.303665, 53.246073, 54.188482, 55.13089 , 56.073298,
57.015707, 57.958115, 58.900524, 59.842932, 60.78534 , 61.727749,
62.670157, 63.612565, 64.554974, 65.497382, 66.439791, 67.382199,
68.324607, 69.267016, 70.209424, 71.151832, 72.094241, 73.036649,
73.979058, 74.921466, 75.863874, 76.806283, 77.748691, 78.691099,
79.633508, 80.575916, 81.518325, 82.460733, 83.403141, 84.34555 ,
85.287958, 86.230366, 87.172775, 88.115183, 89.057592, 90. ])array([ 3.544638, 7.388814, 13.967214, 23.944625, 37.23029 , 53.114605,
70.05915 , 85.439115, 100.514695, 118.250335, 139.115395, 163.66207 ,
192.539935, 226.513265, 266.481155, 313.501265, 368.81798 , 433.895225,
510.455255, 600.5242 , 696.79629 , 787.70206 , 867.16076 , 929.648875,
970.55483 , 992.5561 ])array([ 0. , 1.25, 2.5 , ..., 356.25, 357.5 , 358.75])
array([-89.528796, -88.586387, -87.643979, -86.701571, -85.759162, -84.816754,
-83.874346, -82.931937, -81.989529, -81.04712 , -80.104712, -79.162304,
-78.219895, -77.277487, -76.335079, -75.39267 , -74.450262, -73.507853,
-72.565445, -71.623037, -70.680628, -69.73822 , -68.795812, -67.853403,
-66.910995, -65.968586, -65.026178, -64.08377 , -63.141361, -62.198953,
-61.256545, -60.314136, -59.371728, -58.429319, -57.486911, -56.544503,
-55.602094, -54.659686, -53.717277, -52.774869, -51.832461, -50.890052,
-49.947644, -49.005236, -48.062827, -47.120419, -46.17801 , -45.235602,
-44.293194, -43.350785, -42.408377, -41.465969, -40.52356 , -39.581152,
-38.638743, -37.696335, -36.753927, -35.811518, -34.86911 , -33.926702,
-32.984293, -32.041885, -31.099476, -30.157068, -29.21466 , -28.272251,
-27.329843, -26.387435, -25.445026, -24.502618, -23.560209, -22.617801,
-21.675393, -20.732984, -19.790576, -18.848168, -17.905759, -16.963351,
-16.020942, -15.078534, -14.136126, -13.193717, -12.251309, -11.308901,
-10.366492, -9.424084, -8.481675, -7.539267, -6.596859, -5.65445 ,
-4.712042, -3.769634, -2.827225, -1.884817, -0.942408, 0. ,
0.942408, 1.884817, 2.827225, 3.769634, 4.712042, 5.65445 ,
6.596859, 7.539267, 8.481675, 9.424084, 10.366492, 11.308901,
12.251309, 13.193717, 14.136126, 15.078534, 16.020942, 16.963351,
17.905759, 18.848168, 19.790576, 20.732984, 21.675393, 22.617801,
23.560209, 24.502618, 25.445026, 26.387435, 27.329843, 28.272251,
29.21466 , 30.157068, 31.099476, 32.041885, 32.984293, 33.926702,
34.86911 , 35.811518, 36.753927, 37.696335, 38.638743, 39.581152,
40.52356 , 41.465969, 42.408377, 43.350785, 44.293194, 45.235602,
46.17801 , 47.120419, 48.062827, 49.005236, 49.947644, 50.890052,
51.832461, 52.774869, 53.717277, 54.659686, 55.602094, 56.544503,
57.486911, 58.429319, 59.371728, 60.314136, 61.256545, 62.198953,
63.141361, 64.08377 , 65.026178, 65.968586, 66.910995, 67.853403,
68.795812, 69.73822 , 70.680628, 71.623037, 72.565445, 73.507853,
74.450262, 75.39267 , 76.335079, 77.277487, 78.219895, 79.162304,
80.104712, 81.04712 , 81.989529, 82.931937, 83.874346, 84.816754,
85.759162, 86.701571, 87.643979, 88.586387, 89.528796])array([ -0.625, 0.625, 1.875, ..., 355.625, 356.875, 358.125])
array([cftime.DatetimeNoLeap(2000, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 8, 1, 0, 0, 0, 0), ...,
cftime.DatetimeNoLeap(2080, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 2, 1, 0, 0, 0, 0)], dtype=object)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<xarray.Dataset>
Dimensions: (ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 969)
Coordinates:
* ilev (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
* lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
* lev (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
* lon (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
* slat (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
* slon (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
* time (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
Dimensions without coordinates: nbnd
Data variables:
AEROD_v (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDHGH (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDICE (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CLDLIQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CLDLOW (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDMED (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLDTOT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
CLOUD (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
CONCLD (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DCQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DTCOND (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
DTV (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
EMIS (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
FICE (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
FLDS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLDSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLNTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLUT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FLUTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSDTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSNTOAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
FSUTOA (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
ICEFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
ICIMR (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
ICWMR (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
LANDFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
LHFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
LWCF (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
OCNFRAC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
OMEGA (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
OMEGAT (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
P0 (time) float64 dask.array<chunksize=(969,), meta=np.ndarray>
PBLH (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PHIS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECSC (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PRECSL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
PSL (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
Q (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
QFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
QREFHT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
QRL (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
QRS (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
RELHUM (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
SFCLDICE (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SFCLDLIQ (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SHFLX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SNOWHICE (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SNOWHLND (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SOLIN (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
SWCF (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
T (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
TAUX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TAUY (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDCWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDIWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TGCLDLWP (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TMQ (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TREFHT (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TS (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TSMN (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
TSMX (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
U (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
U10 (time, lat, lon) float32 dask.array<chunksize=(1, 192, 288), meta=np.ndarray>
UU (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
V (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VD01 (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VQ (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VT (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VU (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
VV (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
Z3 (time, lev, lat, lon) float32 dask.array<chunksize=(1, 26, 192, 288), meta=np.ndarray>
ch4vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
co2vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
date (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
date_written (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
datesec (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
f11vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
f12vmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
gw (time, lat) float64 dask.array<chunksize=(1, 192), meta=np.ndarray>
hyai (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
hyam (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
hybi (time, ilev) float64 dask.array<chunksize=(1, 27), meta=np.ndarray>
hybm (time, lev) float64 dask.array<chunksize=(1, 26), meta=np.ndarray>
mdt (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
n2ovmr (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
nbdate (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
nbsec (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
ndbase (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
ndcur (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
nlon (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
nsbase (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
nscur (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
nsteph (time) int32 dask.array<chunksize=(1,), meta=np.ndarray>
ntrk (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
ntrm (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
ntrn (time) int32 dask.array<chunksize=(969,), meta=np.ndarray>
sol_tsi (time) float64 dask.array<chunksize=(1,), meta=np.ndarray>
time_bnds (time, nbnd) object dask.array<chunksize=(969, 2), meta=np.ndarray>
time_written (time) |S8 dask.array<chunksize=(1,), meta=np.ndarray>
w_stag (time, slat) float64 dask.array<chunksize=(1, 191), meta=np.ndarray>
wnummax (time, lat) int32 dask.array<chunksize=(1, 192), meta=np.ndarray>
Attributes:
Conventions: CF-1.0
Version: $Name$
case: f09_g16.B.cobalt.GLOBAL02.MAY.PAO
host: n716016
initial_file: f09_g16.B.04.EXT.cam.i.2066-05-01-00000.nc
logname: clmfrm01
revision_Id: $Id$
source: CAM
title: UNSET
topography_file: /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...array([ 2.194067, 4.895209, 9.882418, 18.05201 , 29.83724 ,
44.62334 , 61.60587 , 78.51243 , 92.3658 , 108.66359 ,
127.83708 , 150.39371 , 176.93043 , 208.14944 , 244.87709 ,
288.08522 , 338.91731 , 398.71865 , 469.0718 , 551.83871 ,
649.20969 , 744.38289 , 831.02123 , 903.30029 , 955.99746 ,
985.1122 , 1000. ])array([-90. , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
-84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,
-78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,
-73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,
-67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,
-61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,
-56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,
-50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,
-44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,
-39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,
-33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,
-27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,
-22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,
-16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,
-10.837696, -9.895288, -8.95288 , -8.010471, -7.068063, -6.125654,
-5.183246, -4.240838, -3.298429, -2.356021, -1.413613, -0.471204,
0.471204, 1.413613, 2.356021, 3.298429, 4.240838, 5.183246,
6.125654, 7.068063, 8.010471, 8.95288 , 9.895288, 10.837696,
11.780105, 12.722513, 13.664921, 14.60733 , 15.549738, 16.492147,
17.434555, 18.376963, 19.319372, 20.26178 , 21.204188, 22.146597,
23.089005, 24.031414, 24.973822, 25.91623 , 26.858639, 27.801047,
28.743455, 29.685864, 30.628272, 31.570681, 32.513089, 33.455497,
34.397906, 35.340314, 36.282723, 37.225131, 38.167539, 39.109948,
40.052356, 40.994764, 41.937173, 42.879581, 43.82199 , 44.764398,
45.706806, 46.649215, 47.591623, 48.534031, 49.47644 , 50.418848,
51.361257, 52.303665, 53.246073, 54.188482, 55.13089 , 56.073298,
57.015707, 57.958115, 58.900524, 59.842932, 60.78534 , 61.727749,
62.670157, 63.612565, 64.554974, 65.497382, 66.439791, 67.382199,
68.324607, 69.267016, 70.209424, 71.151832, 72.094241, 73.036649,
73.979058, 74.921466, 75.863874, 76.806283, 77.748691, 78.691099,
79.633508, 80.575916, 81.518325, 82.460733, 83.403141, 84.34555 ,
85.287958, 86.230366, 87.172775, 88.115183, 89.057592, 90. ])array([ 3.544638, 7.388814, 13.967214, 23.944625, 37.23029 , 53.114605,
70.05915 , 85.439115, 100.514695, 118.250335, 139.115395, 163.66207 ,
192.539935, 226.513265, 266.481155, 313.501265, 368.81798 , 433.895225,
510.455255, 600.5242 , 696.79629 , 787.70206 , 867.16076 , 929.648875,
970.55483 , 992.5561 ])array([ 0. , 1.25, 2.5 , ..., 356.25, 357.5 , 358.75])
array([-89.528796, -88.586387, -87.643979, -86.701571, -85.759162, -84.816754,
-83.874346, -82.931937, -81.989529, -81.04712 , -80.104712, -79.162304,
-78.219895, -77.277487, -76.335079, -75.39267 , -74.450262, -73.507853,
-72.565445, -71.623037, -70.680628, -69.73822 , -68.795812, -67.853403,
-66.910995, -65.968586, -65.026178, -64.08377 , -63.141361, -62.198953,
-61.256545, -60.314136, -59.371728, -58.429319, -57.486911, -56.544503,
-55.602094, -54.659686, -53.717277, -52.774869, -51.832461, -50.890052,
-49.947644, -49.005236, -48.062827, -47.120419, -46.17801 , -45.235602,
-44.293194, -43.350785, -42.408377, -41.465969, -40.52356 , -39.581152,
-38.638743, -37.696335, -36.753927, -35.811518, -34.86911 , -33.926702,
-32.984293, -32.041885, -31.099476, -30.157068, -29.21466 , -28.272251,
-27.329843, -26.387435, -25.445026, -24.502618, -23.560209, -22.617801,
-21.675393, -20.732984, -19.790576, -18.848168, -17.905759, -16.963351,
-16.020942, -15.078534, -14.136126, -13.193717, -12.251309, -11.308901,
-10.366492, -9.424084, -8.481675, -7.539267, -6.596859, -5.65445 ,
-4.712042, -3.769634, -2.827225, -1.884817, -0.942408, 0. ,
0.942408, 1.884817, 2.827225, 3.769634, 4.712042, 5.65445 ,
6.596859, 7.539267, 8.481675, 9.424084, 10.366492, 11.308901,
12.251309, 13.193717, 14.136126, 15.078534, 16.020942, 16.963351,
17.905759, 18.848168, 19.790576, 20.732984, 21.675393, 22.617801,
23.560209, 24.502618, 25.445026, 26.387435, 27.329843, 28.272251,
29.21466 , 30.157068, 31.099476, 32.041885, 32.984293, 33.926702,
34.86911 , 35.811518, 36.753927, 37.696335, 38.638743, 39.581152,
40.52356 , 41.465969, 42.408377, 43.350785, 44.293194, 45.235602,
46.17801 , 47.120419, 48.062827, 49.005236, 49.947644, 50.890052,
51.832461, 52.774869, 53.717277, 54.659686, 55.602094, 56.544503,
57.486911, 58.429319, 59.371728, 60.314136, 61.256545, 62.198953,
63.141361, 64.08377 , 65.026178, 65.968586, 66.910995, 67.853403,
68.795812, 69.73822 , 70.680628, 71.623037, 72.565445, 73.507853,
74.450262, 75.39267 , 76.335079, 77.277487, 78.219895, 79.162304,
80.104712, 81.04712 , 81.989529, 82.931937, 83.874346, 84.816754,
85.759162, 86.701571, 87.643979, 88.586387, 89.528796])array([ -0.625, 0.625, 1.875, ..., 355.625, 356.875, 358.125])
array([cftime.DatetimeNoLeap(2000, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 8, 1, 0, 0, 0, 0), ...,
cftime.DatetimeNoLeap(2080, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 2, 1, 0, 0, 0, 0)], dtype=object)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Concatenating these datasets works fine and implicitly uses the NaN fillvalue.
# concatenate dataset along new Index dim using dictionary keys
data = xr.concat(
objs=cases.values(),
dim=pd.Index(list(cases.keys()), name='ao_phase', dtype='U15')
)
data
<xarray.Dataset>
Dimensions: (ao_phase: 3, ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 1033)
Coordinates:
* lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
* lon (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
* slon (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
* time (time) object 2000-06-01 00:00:00 ... 2086-06-01 00:00:00
* lev (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
* slat (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
* ilev (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
* ao_phase (ao_phase) object 'GLOBAL' 'GLOBAL_MAY_NAO' 'GLOBAL_MAY_PAO'
Dimensions without coordinates: nbnd
Data variables:
AEROD_v (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLDHGH (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLDICE (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
CLDLIQ (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
CLDLOW (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLDMED (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLDTOT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLOUD (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
CONCLD (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
DCQ (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
DTCOND (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
DTV (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
EMIS (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
FICE (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
FLDS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLDSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLNS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLNSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLNT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLNTC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLUT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLUTC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSDS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSDSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSDTOA (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNTC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNTOA (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNTOAC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSUTOA (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
ICEFRAC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
ICIMR (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
ICWMR (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
LANDFRAC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
LHFLX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
LWCF (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
OCNFRAC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
OMEGA (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
OMEGAT (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
P0 (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
PBLH (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PHIS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PRECC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PRECL (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PRECSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PRECSL (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PSL (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
Q (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
QFLX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
QREFHT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
QRL (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
QRS (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
RELHUM (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
SFCLDICE (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SFCLDLIQ (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SHFLX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SNOWHICE (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SNOWHLND (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SOLIN (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SWCF (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
T (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
TAUX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TAUY (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TGCLDCWP (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TGCLDIWP (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TGCLDLWP (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TMQ (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TREFHT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TSMN (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TSMX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
U (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
U10 (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
UU (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
V (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VD01 (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VQ (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VT (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VU (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VV (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
Z3 (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
ch4vmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
co2vmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
date (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
date_written (ao_phase, time) object dask.array<chunksize=(1, 1), meta=np.ndarray>
datesec (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
f11vmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
f12vmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
gw (ao_phase, time, lat) float64 dask.array<chunksize=(1, 1, 192), meta=np.ndarray>
hyai (ao_phase, time, ilev) float64 dask.array<chunksize=(1, 1, 27), meta=np.ndarray>
hyam (ao_phase, time, lev) float64 dask.array<chunksize=(1, 1, 26), meta=np.ndarray>
hybi (ao_phase, time, ilev) float64 dask.array<chunksize=(1, 1, 27), meta=np.ndarray>
hybm (ao_phase, time, lev) float64 dask.array<chunksize=(1, 1, 26), meta=np.ndarray>
mdt (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
n2ovmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
nbdate (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
nbsec (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
ndbase (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
ndcur (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
nlon (ao_phase, time, lat) float64 dask.array<chunksize=(1, 1, 192), meta=np.ndarray>
nsbase (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
nscur (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
nsteph (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
ntrk (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
ntrm (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
ntrn (ao_phase, time) float64 dask.array<chunksize=(1, 1033), meta=np.ndarray>
sol_tsi (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
time_bnds (ao_phase, time, nbnd) object dask.array<chunksize=(1, 1033, 2), meta=np.ndarray>
time_written (ao_phase, time) object dask.array<chunksize=(1, 1), meta=np.ndarray>
w_stag (ao_phase, time, slat) float64 dask.array<chunksize=(1, 1, 191), meta=np.ndarray>
wnummax (ao_phase, time, lat) float64 dask.array<chunksize=(1, 1, 192), meta=np.ndarray>
Attributes:
Conventions: CF-1.0
Version: $Name$
case: f09_g16.B.cobalt.GLOBAL02
host: n716022
initial_file: f09_g16.B.04.EXT.cam.i.2077-05-01-00000.nc
logname: clmfrm01
revision_Id: $Id$
source: CAM
title: UNSET
topography_file: /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...array([-90. , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
-84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,
-78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,
-73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,
-67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,
-61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,
-56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,
-50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,
-44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,
-39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,
-33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,
-27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,
-22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,
-16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,
-10.837696, -9.895288, -8.95288 , -8.010471, -7.068063, -6.125654,
-5.183246, -4.240838, -3.298429, -2.356021, -1.413613, -0.471204,
0.471204, 1.413613, 2.356021, 3.298429, 4.240838, 5.183246,
6.125654, 7.068063, 8.010471, 8.95288 , 9.895288, 10.837696,
11.780105, 12.722513, 13.664921, 14.60733 , 15.549738, 16.492147,
17.434555, 18.376963, 19.319372, 20.26178 , 21.204188, 22.146597,
23.089005, 24.031414, 24.973822, 25.91623 , 26.858639, 27.801047,
28.743455, 29.685864, 30.628272, 31.570681, 32.513089, 33.455497,
34.397906, 35.340314, 36.282723, 37.225131, 38.167539, 39.109948,
40.052356, 40.994764, 41.937173, 42.879581, 43.82199 , 44.764398,
45.706806, 46.649215, 47.591623, 48.534031, 49.47644 , 50.418848,
51.361257, 52.303665, 53.246073, 54.188482, 55.13089 , 56.073298,
57.015707, 57.958115, 58.900524, 59.842932, 60.78534 , 61.727749,
62.670157, 63.612565, 64.554974, 65.497382, 66.439791, 67.382199,
68.324607, 69.267016, 70.209424, 71.151832, 72.094241, 73.036649,
73.979058, 74.921466, 75.863874, 76.806283, 77.748691, 78.691099,
79.633508, 80.575916, 81.518325, 82.460733, 83.403141, 84.34555 ,
85.287958, 86.230366, 87.172775, 88.115183, 89.057592, 90. ])array([ 0. , 1.25, 2.5 , ..., 356.25, 357.5 , 358.75])
array([ -0.625, 0.625, 1.875, ..., 355.625, 356.875, 358.125])
array([cftime.DatetimeNoLeap(2000, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 8, 1, 0, 0, 0, 0), ...,
cftime.DatetimeNoLeap(2086, 4, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 5, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 6, 1, 0, 0, 0, 0)], dtype=object)array([ 3.544638, 7.388814, 13.967214, 23.944625, 37.23029 , 53.114605,
70.05915 , 85.439115, 100.514695, 118.250335, 139.115395, 163.66207 ,
192.539935, 226.513265, 266.481155, 313.501265, 368.81798 , 433.895225,
510.455255, 600.5242 , 696.79629 , 787.70206 , 867.16076 , 929.648875,
970.55483 , 992.5561 ])array([-89.528796, -88.586387, -87.643979, -86.701571, -85.759162, -84.816754,
-83.874346, -82.931937, -81.989529, -81.04712 , -80.104712, -79.162304,
-78.219895, -77.277487, -76.335079, -75.39267 , -74.450262, -73.507853,
-72.565445, -71.623037, -70.680628, -69.73822 , -68.795812, -67.853403,
-66.910995, -65.968586, -65.026178, -64.08377 , -63.141361, -62.198953,
-61.256545, -60.314136, -59.371728, -58.429319, -57.486911, -56.544503,
-55.602094, -54.659686, -53.717277, -52.774869, -51.832461, -50.890052,
-49.947644, -49.005236, -48.062827, -47.120419, -46.17801 , -45.235602,
-44.293194, -43.350785, -42.408377, -41.465969, -40.52356 , -39.581152,
-38.638743, -37.696335, -36.753927, -35.811518, -34.86911 , -33.926702,
-32.984293, -32.041885, -31.099476, -30.157068, -29.21466 , -28.272251,
-27.329843, -26.387435, -25.445026, -24.502618, -23.560209, -22.617801,
-21.675393, -20.732984, -19.790576, -18.848168, -17.905759, -16.963351,
-16.020942, -15.078534, -14.136126, -13.193717, -12.251309, -11.308901,
-10.366492, -9.424084, -8.481675, -7.539267, -6.596859, -5.65445 ,
-4.712042, -3.769634, -2.827225, -1.884817, -0.942408, 0. ,
0.942408, 1.884817, 2.827225, 3.769634, 4.712042, 5.65445 ,
6.596859, 7.539267, 8.481675, 9.424084, 10.366492, 11.308901,
12.251309, 13.193717, 14.136126, 15.078534, 16.020942, 16.963351,
17.905759, 18.848168, 19.790576, 20.732984, 21.675393, 22.617801,
23.560209, 24.502618, 25.445026, 26.387435, 27.329843, 28.272251,
29.21466 , 30.157068, 31.099476, 32.041885, 32.984293, 33.926702,
34.86911 , 35.811518, 36.753927, 37.696335, 38.638743, 39.581152,
40.52356 , 41.465969, 42.408377, 43.350785, 44.293194, 45.235602,
46.17801 , 47.120419, 48.062827, 49.005236, 49.947644, 50.890052,
51.832461, 52.774869, 53.717277, 54.659686, 55.602094, 56.544503,
57.486911, 58.429319, 59.371728, 60.314136, 61.256545, 62.198953,
63.141361, 64.08377 , 65.026178, 65.968586, 66.910995, 67.853403,
68.795812, 69.73822 , 70.680628, 71.623037, 72.565445, 73.507853,
74.450262, 75.39267 , 76.335079, 77.277487, 78.219895, 79.162304,
80.104712, 81.04712 , 81.989529, 82.931937, 83.874346, 84.816754,
85.759162, 86.701571, 87.643979, 88.586387, 89.528796])array([ 2.194067, 4.895209, 9.882418, 18.05201 , 29.83724 ,
44.62334 , 61.60587 , 78.51243 , 92.3658 , 108.66359 ,
127.83708 , 150.39371 , 176.93043 , 208.14944 , 244.87709 ,
288.08522 , 338.91731 , 398.71865 , 469.0718 , 551.83871 ,
649.20969 , 744.38289 , 831.02123 , 903.30029 , 955.99746 ,
985.1122 , 1000. ])array(['GLOBAL', 'GLOBAL_MAY_NAO', 'GLOBAL_MAY_PAO'], dtype=object)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
However, when we write the new dataset to a Zarr store it presents a SerializationWarning and informs us that a numpy typecast has failed.
# define custom Zarr compressor
compressor = zarr.Blosc(cname='zstd', clevel=3, shuffle=2)
encoding = {vname: {'compressor': compressor} for vname in data.variables}
s3_out_path='s3://data-viz-server/CAM_data_EXAMPLE.zarr/'
out_store = s3fs.S3Map(root=s3_out_path, s3=s3, check=False)
with ProgressBar():
zs = data.to_zarr(out_store, encoding=encoding, consolidated=True)
[########################################] | 100% Completed | 6.4s
/home/ubuntu/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/conventions.py:188: SerializationWarning: variable None has data in the form of a dask array with dtype=object, which means it is being loaded into memory to determine a data type that can be safely stored on disk. To avoid this, coerce this variable to a fixed-size dtype with astype() before saving it. SerializationWarning,
[########################################] | 100% Completed | 16.4s [########################################] | 100% Completed | 5.6s
/home/ubuntu/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/conventions.py:188: SerializationWarning: variable None has data in the form of a dask array with dtype=object, which means it is being loaded into memory to determine a data type that can be safely stored on disk. To avoid this, coerce this variable to a fixed-size dtype with astype() before saving it. SerializationWarning,
[########################################] | 100% Completed | 16.4s [########################################] | 100% Completed | 0.1s [########################################] | 100% Completed | 0.1s
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-5-078f027b4301> in <module> 6 7 with ProgressBar(): ----> 8 zs = data.to_zarr(out_store, encoding=encoding, consolidated=True) ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/core/dataset.py in to_zarr(self, store, mode, synchronizer, group, encoding, compute, consolidated, append_dim) 1656 compute=compute, 1657 consolidated=consolidated, -> 1658 append_dim=append_dim, 1659 ) 1660 ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/api.py in to_zarr(dataset, store, mode, synchronizer, group, encoding, compute, consolidated, append_dim) 1351 writer = ArrayWriter() 1352 # TODO: figure out how to properly handle unlimited_dims -> 1353 dump_to_store(dataset, zstore, writer, encoding=encoding) 1354 writes = writer.sync(compute=compute) 1355 ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/api.py in dump_to_store(dataset, store, writer, encoder, encoding, unlimited_dims) 1126 variables, attrs = encoder(variables, attrs) 1127 -> 1128 store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims) 1129 1130 ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/zarr.py in store(self, variables, attributes, check_encoding_set, writer, unlimited_dims) 394 variables_without_encoding = {vn: variables[vn] for vn in new_variables} 395 variables_encoded, attributes = self.encode( --> 396 variables_without_encoding, attributes 397 ) 398 ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/common.py in encode(self, variables, attributes) 230 231 """ --> 232 variables = {k: self.encode_variable(v) for k, v in variables.items()} 233 attributes = {k: self.encode_attribute(v) for k, v in attributes.items()} 234 return variables, attributes ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/common.py in <dictcomp>(.0) 230 231 """ --> 232 variables = {k: self.encode_variable(v) for k, v in variables.items()} 233 attributes = {k: self.encode_attribute(v) for k, v in attributes.items()} 234 return variables, attributes ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/zarr.py in encode_variable(self, variable) 351 352 def encode_variable(self, variable): --> 353 variable = encode_zarr_variable(variable) 354 return variable 355 ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/zarr.py in encode_zarr_variable(var, needs_copy, name) 243 """ 244 --> 245 var = conventions.encode_cf_variable(var, name=name) 246 247 # zarr allows unicode, but not variable-length strings, so it's both ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/conventions.py in encode_cf_variable(var, needs_copy, name) 248 variables.UnsignedIntegerCoder(), 249 ]: --> 250 var = coder.encode(var, name=name) 251 252 # TODO(shoyer): convert all of these to use coders, too: ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/coding/times.py in encode(self, variable, name) 412 ): 413 (data, units, calendar) = encode_cf_datetime( --> 414 data, encoding.pop("units", None), encoding.pop("calendar", None) 415 ) 416 safe_setitem(attrs, "units", units, name=name) ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/coding/times.py in encode_cf_datetime(dates, units, calendar) 355 356 if units is None: --> 357 units = infer_datetime_units(dates) 358 else: 359 units = _cleanup_netcdf_time_units(units) ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/coding/times.py in infer_datetime_units(dates) 249 reference_date = dates[0] if len(dates) > 0 else "1970-01-01" 250 reference_date = format_cftime_datetime(reference_date) --> 251 unique_timedeltas = np.unique(np.diff(dates)) 252 if unique_timedeltas.dtype == np.dtype("O"): 253 # Convert to np.timedelta64 objects using pandas to work around a <__array_function__ internals> in diff(*args, **kwargs) ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/numpy/lib/function_base.py in diff(a, n, axis, prepend, append) 1278 op = not_equal if a.dtype == np.bool_ else subtract 1279 for _ in range(n): -> 1280 a = op(a[slice1], a[slice2]) 1281 1282 return a TypeError: unsupported operand type(s) for -: 'float' and 'cftime._cftime.DatetimeNoLeap'
If we remove the offending times prior to Zarr'ing, everything works.
# find the times that are not represented across all three datasets
sets = [ set(x.time.values) for x in cases.values() ]
times_to_drop = set.union(*sets) - set.intersection(*sets)
times_to_drop
{cftime.DatetimeNoLeap(2081, 3, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 4, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 5, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 8, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 9, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 10, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 11, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 2, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 3, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 4, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 5, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 8, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 9, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 10, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 11, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2082, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 2, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 3, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 4, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 5, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 8, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 9, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 10, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 11, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2083, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 2, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 3, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 4, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 5, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 8, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 9, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 10, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 11, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2084, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 2, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 3, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 4, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 5, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 8, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 9, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 10, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 11, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2085, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 2, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 3, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 4, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 5, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2086, 6, 1, 0, 0, 0, 0)}
# drop those times
for k in cases.keys():
cases[k] = cases[k].drop_sel(time=sorted(list(times_to_drop)), errors='ignore')
# verify that all three datasets in `cases` have the same time coordinates
for c in cases.values():
print(c.time)
<xarray.DataArray 'time' (time: 969)>
array([cftime.DatetimeNoLeap(2000, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 8, 1, 0, 0, 0, 0), ...,
cftime.DatetimeNoLeap(2080, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 2, 1, 0, 0, 0, 0)], dtype=object)
Coordinates:
* time (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
Attributes:
bounds: time_bnds
long_name: time
<xarray.DataArray 'time' (time: 969)>
array([cftime.DatetimeNoLeap(2000, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 8, 1, 0, 0, 0, 0), ...,
cftime.DatetimeNoLeap(2080, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 2, 1, 0, 0, 0, 0)], dtype=object)
Coordinates:
* time (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
Attributes:
bounds: time_bnds
long_name: time
<xarray.DataArray 'time' (time: 969)>
array([cftime.DatetimeNoLeap(2000, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 8, 1, 0, 0, 0, 0), ...,
cftime.DatetimeNoLeap(2080, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 2, 1, 0, 0, 0, 0)], dtype=object)
Coordinates:
* time (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
Attributes:
bounds: time_bnds
long_name: time
Concatenate the modified cases dictionary.
data2 = xr.concat(
objs=cases.values(),
dim=pd.Index(list(cases.keys()), name='ao_phase', dtype='U15')
)
data2
<xarray.Dataset>
Dimensions: (ao_phase: 3, ilev: 27, lat: 192, lev: 26, lon: 288, nbnd: 2, slat: 191, slon: 288, time: 969)
Coordinates:
* lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0
* lon (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8
* slon (slon) float64 -0.625 0.625 1.875 3.125 ... 355.6 356.9 358.1
* time (time) object 2000-06-01 00:00:00 ... 2081-02-01 00:00:00
* lev (lev) float64 3.545 7.389 13.97 23.94 ... 929.6 970.6 992.6
* slat (slat) float64 -89.53 -88.59 -87.64 ... 87.64 88.59 89.53
* ilev (ilev) float64 2.194 4.895 9.882 18.05 ... 956.0 985.1 1e+03
* ao_phase (ao_phase) object 'GLOBAL' 'GLOBAL_MAY_NAO' 'GLOBAL_MAY_PAO'
Dimensions without coordinates: nbnd
Data variables:
AEROD_v (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLDHGH (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLDICE (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
CLDLIQ (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
CLDLOW (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLDMED (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLDTOT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
CLOUD (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
CONCLD (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
DCQ (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
DTCOND (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
DTV (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
EMIS (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
FICE (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
FLDS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLDSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLNS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLNSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLNT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLNTC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLUT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FLUTC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSDS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSDSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSDTOA (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNTC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNTOA (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSNTOAC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
FSUTOA (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
ICEFRAC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
ICIMR (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
ICWMR (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
LANDFRAC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
LHFLX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
LWCF (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
OCNFRAC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
OMEGA (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
OMEGAT (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
P0 (ao_phase, time) float64 dask.array<chunksize=(1, 969), meta=np.ndarray>
PBLH (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PHIS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PRECC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PRECL (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PRECSC (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PRECSL (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
PSL (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
Q (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
QFLX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
QREFHT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
QRL (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
QRS (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
RELHUM (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
SFCLDICE (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SFCLDLIQ (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SHFLX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SNOWHICE (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SNOWHLND (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SOLIN (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
SWCF (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
T (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
TAUX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TAUY (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TGCLDCWP (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TGCLDIWP (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TGCLDLWP (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TMQ (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TREFHT (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TS (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TSMN (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
TSMX (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
U (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
U10 (ao_phase, time, lat, lon) float32 dask.array<chunksize=(1, 1, 192, 288), meta=np.ndarray>
UU (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
V (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VD01 (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VQ (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VT (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VU (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
VV (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
Z3 (ao_phase, time, lev, lat, lon) float32 dask.array<chunksize=(1, 1, 26, 192, 288), meta=np.ndarray>
ch4vmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
co2vmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
date (ao_phase, time) int32 dask.array<chunksize=(1, 1), meta=np.ndarray>
date_written (ao_phase, time) |S8 dask.array<chunksize=(1, 1), meta=np.ndarray>
datesec (ao_phase, time) int32 dask.array<chunksize=(1, 1), meta=np.ndarray>
f11vmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
f12vmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
gw (ao_phase, time, lat) float64 dask.array<chunksize=(1, 1, 192), meta=np.ndarray>
hyai (ao_phase, time, ilev) float64 dask.array<chunksize=(1, 1, 27), meta=np.ndarray>
hyam (ao_phase, time, lev) float64 dask.array<chunksize=(1, 1, 26), meta=np.ndarray>
hybi (ao_phase, time, ilev) float64 dask.array<chunksize=(1, 1, 27), meta=np.ndarray>
hybm (ao_phase, time, lev) float64 dask.array<chunksize=(1, 1, 26), meta=np.ndarray>
mdt (ao_phase, time) int32 dask.array<chunksize=(1, 969), meta=np.ndarray>
n2ovmr (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
nbdate (ao_phase, time) int32 dask.array<chunksize=(1, 969), meta=np.ndarray>
nbsec (ao_phase, time) int32 dask.array<chunksize=(1, 969), meta=np.ndarray>
ndbase (ao_phase, time) int32 dask.array<chunksize=(1, 969), meta=np.ndarray>
ndcur (ao_phase, time) int32 dask.array<chunksize=(1, 1), meta=np.ndarray>
nlon (ao_phase, time, lat) int32 dask.array<chunksize=(1, 1, 192), meta=np.ndarray>
nsbase (ao_phase, time) int32 dask.array<chunksize=(1, 969), meta=np.ndarray>
nscur (ao_phase, time) int32 dask.array<chunksize=(1, 1), meta=np.ndarray>
nsteph (ao_phase, time) int32 dask.array<chunksize=(1, 1), meta=np.ndarray>
ntrk (ao_phase, time) int32 dask.array<chunksize=(1, 969), meta=np.ndarray>
ntrm (ao_phase, time) int32 dask.array<chunksize=(1, 969), meta=np.ndarray>
ntrn (ao_phase, time) int32 dask.array<chunksize=(1, 969), meta=np.ndarray>
sol_tsi (ao_phase, time) float64 dask.array<chunksize=(1, 1), meta=np.ndarray>
time_bnds (ao_phase, time, nbnd) object dask.array<chunksize=(1, 969, 2), meta=np.ndarray>
time_written (ao_phase, time) |S8 dask.array<chunksize=(1, 1), meta=np.ndarray>
w_stag (ao_phase, time, slat) float64 dask.array<chunksize=(1, 1, 191), meta=np.ndarray>
wnummax (ao_phase, time, lat) int32 dask.array<chunksize=(1, 1, 192), meta=np.ndarray>
Attributes:
Conventions: CF-1.0
Version: $Name$
case: f09_g16.B.cobalt.GLOBAL02
host: n716022
initial_file: f09_g16.B.04.EXT.cam.i.2077-05-01-00000.nc
logname: clmfrm01
revision_Id: $Id$
source: CAM
title: UNSET
topography_file: /e/04/clmfrm/din/atm/cam/topo/USGS-gtopo30_0.9x1.25_rem...array([-90. , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
-84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,
-78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,
-73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,
-67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,
-61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,
-56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,
-50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,
-44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,
-39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,
-33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,
-27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,
-22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,
-16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,
-10.837696, -9.895288, -8.95288 , -8.010471, -7.068063, -6.125654,
-5.183246, -4.240838, -3.298429, -2.356021, -1.413613, -0.471204,
0.471204, 1.413613, 2.356021, 3.298429, 4.240838, 5.183246,
6.125654, 7.068063, 8.010471, 8.95288 , 9.895288, 10.837696,
11.780105, 12.722513, 13.664921, 14.60733 , 15.549738, 16.492147,
17.434555, 18.376963, 19.319372, 20.26178 , 21.204188, 22.146597,
23.089005, 24.031414, 24.973822, 25.91623 , 26.858639, 27.801047,
28.743455, 29.685864, 30.628272, 31.570681, 32.513089, 33.455497,
34.397906, 35.340314, 36.282723, 37.225131, 38.167539, 39.109948,
40.052356, 40.994764, 41.937173, 42.879581, 43.82199 , 44.764398,
45.706806, 46.649215, 47.591623, 48.534031, 49.47644 , 50.418848,
51.361257, 52.303665, 53.246073, 54.188482, 55.13089 , 56.073298,
57.015707, 57.958115, 58.900524, 59.842932, 60.78534 , 61.727749,
62.670157, 63.612565, 64.554974, 65.497382, 66.439791, 67.382199,
68.324607, 69.267016, 70.209424, 71.151832, 72.094241, 73.036649,
73.979058, 74.921466, 75.863874, 76.806283, 77.748691, 78.691099,
79.633508, 80.575916, 81.518325, 82.460733, 83.403141, 84.34555 ,
85.287958, 86.230366, 87.172775, 88.115183, 89.057592, 90. ])array([ 0. , 1.25, 2.5 , ..., 356.25, 357.5 , 358.75])
array([ -0.625, 0.625, 1.875, ..., 355.625, 356.875, 358.125])
array([cftime.DatetimeNoLeap(2000, 6, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 7, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2000, 8, 1, 0, 0, 0, 0), ...,
cftime.DatetimeNoLeap(2080, 12, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 1, 1, 0, 0, 0, 0),
cftime.DatetimeNoLeap(2081, 2, 1, 0, 0, 0, 0)], dtype=object)array([ 3.544638, 7.388814, 13.967214, 23.944625, 37.23029 , 53.114605,
70.05915 , 85.439115, 100.514695, 118.250335, 139.115395, 163.66207 ,
192.539935, 226.513265, 266.481155, 313.501265, 368.81798 , 433.895225,
510.455255, 600.5242 , 696.79629 , 787.70206 , 867.16076 , 929.648875,
970.55483 , 992.5561 ])array([-89.528796, -88.586387, -87.643979, -86.701571, -85.759162, -84.816754,
-83.874346, -82.931937, -81.989529, -81.04712 , -80.104712, -79.162304,
-78.219895, -77.277487, -76.335079, -75.39267 , -74.450262, -73.507853,
-72.565445, -71.623037, -70.680628, -69.73822 , -68.795812, -67.853403,
-66.910995, -65.968586, -65.026178, -64.08377 , -63.141361, -62.198953,
-61.256545, -60.314136, -59.371728, -58.429319, -57.486911, -56.544503,
-55.602094, -54.659686, -53.717277, -52.774869, -51.832461, -50.890052,
-49.947644, -49.005236, -48.062827, -47.120419, -46.17801 , -45.235602,
-44.293194, -43.350785, -42.408377, -41.465969, -40.52356 , -39.581152,
-38.638743, -37.696335, -36.753927, -35.811518, -34.86911 , -33.926702,
-32.984293, -32.041885, -31.099476, -30.157068, -29.21466 , -28.272251,
-27.329843, -26.387435, -25.445026, -24.502618, -23.560209, -22.617801,
-21.675393, -20.732984, -19.790576, -18.848168, -17.905759, -16.963351,
-16.020942, -15.078534, -14.136126, -13.193717, -12.251309, -11.308901,
-10.366492, -9.424084, -8.481675, -7.539267, -6.596859, -5.65445 ,
-4.712042, -3.769634, -2.827225, -1.884817, -0.942408, 0. ,
0.942408, 1.884817, 2.827225, 3.769634, 4.712042, 5.65445 ,
6.596859, 7.539267, 8.481675, 9.424084, 10.366492, 11.308901,
12.251309, 13.193717, 14.136126, 15.078534, 16.020942, 16.963351,
17.905759, 18.848168, 19.790576, 20.732984, 21.675393, 22.617801,
23.560209, 24.502618, 25.445026, 26.387435, 27.329843, 28.272251,
29.21466 , 30.157068, 31.099476, 32.041885, 32.984293, 33.926702,
34.86911 , 35.811518, 36.753927, 37.696335, 38.638743, 39.581152,
40.52356 , 41.465969, 42.408377, 43.350785, 44.293194, 45.235602,
46.17801 , 47.120419, 48.062827, 49.005236, 49.947644, 50.890052,
51.832461, 52.774869, 53.717277, 54.659686, 55.602094, 56.544503,
57.486911, 58.429319, 59.371728, 60.314136, 61.256545, 62.198953,
63.141361, 64.08377 , 65.026178, 65.968586, 66.910995, 67.853403,
68.795812, 69.73822 , 70.680628, 71.623037, 72.565445, 73.507853,
74.450262, 75.39267 , 76.335079, 77.277487, 78.219895, 79.162304,
80.104712, 81.04712 , 81.989529, 82.931937, 83.874346, 84.816754,
85.759162, 86.701571, 87.643979, 88.586387, 89.528796])array([ 2.194067, 4.895209, 9.882418, 18.05201 , 29.83724 ,
44.62334 , 61.60587 , 78.51243 , 92.3658 , 108.66359 ,
127.83708 , 150.39371 , 176.93043 , 208.14944 , 244.87709 ,
288.08522 , 338.91731 , 398.71865 , 469.0718 , 551.83871 ,
649.20969 , 744.38289 , 831.02123 , 903.30029 , 955.99746 ,
985.1122 , 1000. ])array(['GLOBAL', 'GLOBAL_MAY_NAO', 'GLOBAL_MAY_PAO'], dtype=object)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Upload the new dataset to Zarr. This works -- I interrupted this execution several minutes in (it takes ~1 hour), but I have seen it proceed to completion.
# define custom Zarr compressor
compressor = zarr.Blosc(cname='zstd', clevel=3, shuffle=2)
encoding = {vname: {'compressor': compressor} for vname in data2.variables}
s3_out_path='s3://data-viz-server/CAM_data_EXAMPLE_not_ragged.zarr/'
out_store = s3fs.S3Map(root=s3_out_path, s3=s3, check=False)
with ProgressBar():
zs = data2.to_zarr(out_store, encoding=encoding, consolidated=True)
[########################################] | 100% Completed | 0.1s [########################################] | 100% Completed | 0.1s
--------------------------------------------------------------------------- KeyboardInterrupt Traceback (most recent call last) <ipython-input-11-4566116cd1ef> in <module> 6 7 with ProgressBar(): ----> 8 zs = data2.to_zarr(out_store, encoding=encoding, consolidated=True) ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/core/dataset.py in to_zarr(self, store, mode, synchronizer, group, encoding, compute, consolidated, append_dim) 1656 compute=compute, 1657 consolidated=consolidated, -> 1658 append_dim=append_dim, 1659 ) 1660 ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/api.py in to_zarr(dataset, store, mode, synchronizer, group, encoding, compute, consolidated, append_dim) 1352 # TODO: figure out how to properly handle unlimited_dims 1353 dump_to_store(dataset, zstore, writer, encoding=encoding) -> 1354 writes = writer.sync(compute=compute) 1355 1356 if compute: ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/xarray/backends/common.py in sync(self, compute) 202 compute=compute, 203 flush=True, --> 204 regions=self.regions, 205 ) 206 self.sources = [] ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/dask/array/core.py in store(sources, targets, lock, regions, compute, return_stored, **kwargs) 889 sources_dsk = HighLevelGraph.merge(*[e.__dask_graph__() for e in sources]) 890 sources_dsk = Array.__dask_optimize__( --> 891 sources_dsk, list(core.flatten([e.__dask_keys__() for e in sources])) 892 ) 893 sources2 = [Array(sources_dsk, e.name, e.chunks, meta=e) for e in sources] ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/dask/array/optimization.py in optimize(dsk, keys, fuse_keys, fast_functions, inline_functions_fast_functions, rename_fused_keys, **kwargs) 55 hold + keys + (fuse_keys or []), 56 dependencies, ---> 57 rename_keys=rename_fused_keys, 58 ) 59 if inline_functions_fast_functions: ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/dask/optimization.py in fuse(dsk, keys, dependencies, ave_width, max_width, max_height, max_depth_new_edges, rename_keys, fuse_subgraphs) 839 if key_renamer: 840 for root_key, fused_keys in fused_trees.items(): --> 841 alias = key_renamer(fused_keys) 842 if alias is not None and alias not in rv: 843 rv[alias] = rv[root_key] ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/dask/optimization.py in default_fused_keys_renamer(keys, max_fused_key_length) 404 return _enforce_max_key_limit(concatenated_name) 405 elif typ is tuple and len(first_key) > 0 and isinstance(first_key[0], str): --> 406 first_name = key_split(first_key) 407 names = {key_split(k) for k in it} 408 names.discard(first_name) ~/anaconda3/envs/bokenv/lib/python3.7/site-packages/dask/optimization.py in key_split(s) 972 return "data" 973 else: --> 974 if result[0] == "<": 975 result = result.strip("<>").split()[0].split(".")[-1] 976 return result KeyboardInterrupt: